www.gusucode.com > VC 串口通讯_数据库存取例子-源码程序 > VC 串口通讯_数据库存取例子-源码程序/code/Modem3/JxDialog.cpp

    //Download by http://www.NewXing.com
// JxDialog.cpp : implementation file
//

#include "stdafx.h"
#include "Modem3.h"
#include "JxDialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CJxDialog dialog


CJxDialog::CJxDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CJxDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CJxDialog)
	//}}AFX_DATA_INIT
      CWnd *ppWnd=CWnd::FindWindow(NULL,"modem3");
      pWnd=((CModem3Dlg *)ppWnd);
}


void CJxDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CJxDialog)
	DDX_Control(pDX, IDC_COMBO8, m_Com8);
	DDX_Control(pDX, IDC_COMBO7, m_Com7);
	DDX_Control(pDX, IDC_COMBO6, m_Com6);
	DDX_Control(pDX, IDC_COMBO5, m_Com5);
	DDX_Control(pDX, IDC_COMBO4, m_Com4);
	DDX_Control(pDX, IDC_COMBO3, m_Com3);
	DDX_Control(pDX, IDC_COMBO2, m_Com2);
	DDX_Control(pDX, IDC_COMBO1, m_Com1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CJxDialog, CDialog)
	//{{AFX_MSG_MAP(CJxDialog)
	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJxDialog message handlers

void CJxDialog::OnOK() 
{
	// TODO: Add extra validation here
	unsigned char i;
	pWnd->send_flag=1;
	pWnd->send_data[0]=0xf7;
	pWnd->send_data[1]=0xf8;
	pWnd->send_data[2]=0x0B;
	pWnd->send_data[3]=0x01;
	pWnd->send_data[4]=yd[4];
	pWnd->send_data[5]=0x32;
    i=m_Com1.GetCurSel();
	pWnd->send_data[6]=pWnd->send_data[6]&&0xfc;
	pWnd->send_data[6]=pWnd->send_data[6]||i;
	i=m_Com2.GetCurSel();
	i=i<<2;
	pWnd->send_data[6]=pWnd->send_data[6]&&0xe3;
	pWnd->send_data[6]=pWnd->send_data[6]||i;
    i=m_Com5.GetCurSel();
	i=i<<5;
	pWnd->send_data[6]=pWnd->send_data[6]&&0x9f;
	pWnd->send_data[6]=pWnd->send_data[6]||i;
	i=m_Com8.GetCurSel();
	i=i<<7;
	pWnd->send_data[6]=pWnd->send_data[6]&&0x7f;
	pWnd->send_data[6]=pWnd->send_data[6]||i;

    i=m_Com6.GetCurSel();
	pWnd->send_data[7]=pWnd->send_data[7]&&0xfc;
	pWnd->send_data[7]=pWnd->send_data[7]||i;
	i=m_Com7.GetCurSel();
	i=i<<2;
    pWnd->send_data[7]=pWnd->send_data[7]&&0xfb;
	pWnd->send_data[7]=pWnd->send_data[7]||i;
    i=m_Com3.GetCurSel();
	i=i<<4;
    pWnd->send_data[7]=pWnd->send_data[7]&&0xef;
	pWnd->send_data[7]=pWnd->send_data[7]||i;
	i=m_Com4.GetCurSel();
	i=i<<5;
    pWnd->send_data[7]=pWnd->send_data[7]&&0xdf;
	pWnd->send_data[7]=pWnd->send_data[7]||i;
	for(i=8;i<14;i++)
	pWnd->send_data[i]=0x00;
	pWnd->send_data[14]=0x00;
	for(i=2;i<14;i++)
		pWnd->send_data[14]=+pWnd->send_data[i];
	pWnd->send_data[15]=0xfd;
	CDialog::OnOK();
}

BOOL CJxDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
    unsigned char i;
	for(i=0;i<16;i++)
		yd[i]=pWnd->immediate_data[i];
	i=yd[7]&&0x03;
	m_Com1.SetCurSel(i);
	i=yd[7]>>2;
	i=i&&0x07;
	m_Com2.SetCurSel(i);
	i=yd[7]>>5;
	i=yd[7]&&0x03;
	m_Com5.SetCurSel(i);
	i=yd[7]>>7;
	i=yd[7]&&0x01;
	m_Com8.SetCurSel(i);
	i=yd[8]&&0x03;
	m_Com6.SetCurSel(i);
	i=yd[8]>>2;
	i=i&&0x01;
	m_Com7.SetCurSel(i);
	i=yd[8]>>4;
	i=i&&0x01;
	m_Com3.SetCurSel(i);
	i=yd[8]>>5;
	i=i&&0x01;
	m_Com4.SetCurSel(i);


	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CJxDialog::OnSelchangeCombo1() 
{
	// TODO: Add your control notification handler code here

}